#ifndef _INCLUDE_CLI_H
#define _INCLUDE_CLI_H
#include <stdint.h>
#include <string.h>

/********************CLI Configuration START********************/

#define CLI_CHAR_BUF_SIZE 64 //The size of buffer which is used to cache input char.
#define CLI_CMD_NUM_MAX   8  //The maximux number of command can be registered.
#define CLI_ARGS_NUM      5  //The maximux number of args for each command(including cmd string).
#define CLI_ARGS_LEN      16 //The maximux length of each command string.
#define CLI_PROMPT "sh>"
/********************CLI Configuration START********************/

typedef void (*cli_cb_t)(int32_t argc, char *args[]);

void cli_init(void);
void cli_input_char(char c);
int32_t cli_register_cmd(const char *name, cli_cb_t cb);

void cli_task_init(void);

#endif//_INCLUDE_CLI_H
